package dados;

import java.io.Serializable;
import java.util.ArrayList;

public class Accao implements Serializable{

	private static final long serialVersionUID = 1L;
	private String nome;
	private String sigla;
	private int quantidade;
	private double valorAquisicao;
	private double valorTotal;
	private ArrayList <Noticia> news;

	public Accao(String nome, String sigla, int quantidade, double valorAquisicao){
		this.nome = nome;
		this.sigla = sigla;
		this.quantidade = quantidade;
		this.valorAquisicao = valorAquisicao;
		valorTotal = valorAquisicao*quantidade;
	}

	public String getSigla() {
		return sigla;
	}

	public void setSigla(String sigla) {
		this.sigla = sigla;
	}

	public int getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}

	public double getValorAquisicao() {
		return valorAquisicao;
	}

	public void setValorAquisicao(double valorAquisicao) {
		this.valorAquisicao = valorAquisicao;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getNome(){
		return nome;
	}

	public double getValorTotal() {
		return valorTotal;
	}

	public void setValorTotal(double valorTotal) {
		this.valorTotal = valorTotal;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((nome == null) ? 0 : nome.hashCode());
		long temp;
		temp = Double.doubleToLongBits(valorAquisicao);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Accao other = (Accao) obj;
		if (nome == null) {
			if (other.nome != null)
				return false;
		} else if (!nome.equals(other.nome))
			return false;
		return true;
	}

	public String toString(){
		return nome + "(" + sigla + ") : " + valorAquisicao + " | " + quantidade + "";
	}

	public void setNoticias(ArrayList<Noticia> noticias) {
		this.news = noticias;	
	}

	public ArrayList<Noticia> getNoticias (){
		return news;
	}
}
